var http = require("http");
var pinyin = require("pinyin");
var querystring = require("querystring");
var util = require("util");

http
  .createServer(function (request, response) {
    try {
      handler(request, response);
    } catch (err) {
      var errorMsg =
        Error + new Date().toISOString() + req.url + err.stack ||
        err.message ||
        "unknow error";
      console.error(errorMsg);
      Settings.showError ? res.end("<pre>" + errorMsg + "</pre>") : res.end();
    }
  })
  .listen(8001);
console.log("127.0.0.1:8001");

function handler(request, response) {
  // 定义了一个post变量，用于暂存请求体的信息
  var post = "";

  // 通过req的data事件监听函数，每当接受到请求体的数据，就累加到post变量中
  request.on("data", function (chunk) {
    post += chunk;
  });

  // 在end事件触发后，通过querystring.parse将post解析为真正的POST请求格式，然后向客户端返回。
  request.on("end", function () {
    try {
      console.log(post);
      var content = JSON.parse(post);
      var result = pinyin(content.content, {
        heteronym: true, // 启用多音字模式
        segment: true, // 启用分词，以解决多音字问题。
      });
    } catch (error) {
    }

    console.log(result);
    response.writeHead(200, { "Content-Type": "application/json" });
    response.end(JSON.stringify(result));
  });
}
